#include <cstdio>
const int maxl=60;
struct node{
	int ll,rr;
}a[maxl];
int n;
char ss[5];
bool v[maxl];
void dfs(int k){
	printf("%c",k+'a'-1);
	if(a[k].ll) dfs(a[k].ll);
	if(a[k].rr) dfs(a[k].rr);
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%s",ss);
		if(ss[1]!='*'){
			a[ss[0]-'a'+1].ll=ss[1]-'a'+1;
			v[ss[1]-'a'+1]=true;
		}
		if(ss[2]!='*'){
			a[ss[0]-'a'+1].rr=ss[2]-'a'+1;
			v[ss[1]-'a'+1]=true;
		}
		
	}
	int root;
	for(root=1;v[root];root++);
	dfs(root); printf("\n");
	return 0;
}

